Method and system to contact a provider

ABSTRACT

A method and system to contact a provider are described. The system may include a communication module to receive a referral request, a referral generator, and a call module. The referral generator may be configured to respond to the referral request by selecting a provider from a network of providers. The call module may be configured to initiate a voice over Internet protocol (VoIP) call in order to contact the selected provider.

TECHNICAL FIELD

This application relates to electronic commerce in general and a methodand system to contact a provider in particular.

BACKGROUND

Electronic commerce marketplace may provide a powerful online platformfor the sale of goods and services by a community of individuals andsmall businesses. On any given day, there may be a great number of itemsavailable through auction-style and fixed-price trading. A buyer mayselect an item via an associated user interface, indicate to a seller adesire to buy the item, and finalize the purchase. In some existingsystems, a vendor who utilizes an online platform that facilitateselectronic commerce marketplace may be charged a percentage of the finalsale price.

BRIEF DESCRIPTION OF DRAWINGS

Embodiments of the present invention are illustrated by way of exampleand not limitation in the figures of the accompanying drawings, in whichlike reference numbers indicate similar elements and in which:

FIG. 1 is a diagrammatic representation of a network environment withinwhich an example embodiment may be implemented;

FIG. 2 a block diagram of a system to contact a provider, in accordancewith an example embodiment;

FIG. 3 is a flow chart of a method to contact a provider, in accordancewith an example embodiment;

FIG. 4 a block diagram of a seller module, in accordance with an exampleembodiment;

FIG. 5 is a flow chart of a method to process a VoIP call, in accordancewith an example embodiment;

FIG. 6 is a diagrammatic representation of an example user interface topermit a user to request a referral, in accordance with an exampleembodiment;

FIG. 7 is a diagrammatic representation of an example user interface topermit a user to specify selection criteria with a referral request, inaccordance with an example embodiment;

FIG. 8 is a diagrammatic representation of an example user interface toinformation related to a VoIP call, in accordance with an exampleembodiment;

FIG. 9 is a diagrammatic representation of an example data structure torepresent selection criteria information, in accordance with an exampleembodiment; and

FIG. 10 is a diagrammatic representation of an example machine in theform of a computer system within which a set of instructions, forcausing the machine to perform any one or more of the methodologiesdiscussed herein, may be executed.

DETAILED DESCRIPTION

A method and system to contact a provider are described. In one exampleembodiment, the system to contact a provider is implemented in thecontext of an on-line referral service. An on-line referral service maybe configured to respond to a referral request from a user byautomatically selecting a suitable provider and automatically routing avoice over Internet protocol (VoIP) call to the selected provider. Asuitable provider may be selected from one of several providers within anetwork of member providers. A VoIP call to the selected provider, inone example embodiment, may be treated as an indication of potentialbusiness opportunity (a lead) for the provider. The provider may then becharged a predetermined fee for each lead generated by the examplereferral service.

An example system to contact a provider may include a graphical userinterface (GUI) to present a user with a selection of services or goodsand to permit a user to request a referral of a provider of the selectedservice or goods. An example GUI may include a visual control, e.g., a“Call Now” button, that a user may activate to indicate a desire tocontact a provider of a particular service or of particular goods. Inone example embodiment, a user may select a service, specify criteriafor a provider, and click on the “Call Now” button. In response, anexample system may automatically determine a suitable provider utilizingthe submitted criteria, and initiate a VoIP call to the determinedprovider.

An example system to contact a provider may be configured to determinefees to be charged to a provider based on the number of leads associatedwith VoIP calls to providers. In one example embodiment, a call to aparticular provider may be identified selectively as a lead if the callduration is longer than a predetermined period of time, e.g., if thecall duration is longer than 20 seconds. A user who is the originator ofthe referral request that triggered the VoIP call may be requested tosubmit feedback regarding the determined provider.

In one example embodiment, a system to contact a provider may include asoftware tool (termed, e.g., a leads manager) to permit providers tomanage the leads obtained through VoIP calls initiated by the system.The leads manager may be used to keep track of the leads, to sort and tocategorize the leads, to associate various information with the leads,etc.

It will be noted, that while some example embodiments are beingdescribed with reference to service providers, it will be understoodthat the techniques described herein may be advantageously utilized togenerate leads for providers of goods. An example of a networkenvironment including an on-line referral service is illustrated in FIG.1.

FIG. 1 illustrates a network environment 100. The environment 100, in anexample embodiment, includes a server system (server) 110 and clientsystems (clients) 120 and 140, coupled to a communications network 130.The communications network 130 may be a public network (e.g., theInternet, a wireless network, etc.) or a private network (e.g., LAN,WAN, Intranet, etc.). In the environment 100, the clients 120 and 140may have access to an on-line referral service 112 running on the server110, via browser applications 122 and 142 respectively.

The on-line referral service 112 may cooperate with a VoIP service 114to initiate calls to selected providers. In one example embodiment, theon-line referral service 112 and the VoIP service 114 may be configuredas a single service, e.g., the functionality of the on-line referralservice 112 may be packaged together with an application running theVoIP service 114.

The example on-line referral service 112 may be used to maintain anetwork of providers. Various information associated with providers thatare members of the network of providers associated with the referralservice 112 may be stored in a providers database 160. In one exampleembodiment, the network of providers may be organized utilizingdemographic information of the member providers. The providers database160 may be local with respect to the server system 110 or, in oneexample embodiment, may be accessible via the network 130.

Where a provider selected by on-line referral service 112 has access toVoIP software, e.g., to a VoIP client 144, a call to the selectedprovider may be initiated via a peer to peer (P2P) connection betweenthe VoIP service 114 at the server system 110 and the VoIP client 144 ofthe client system 140. If the selected provider does not have access toa VoIP service, but has access to a conventional telephone device 150,the VoIP service 114 may initiate a call to the telephone device 150,via a connection 134 that may utilize a VoIP server. The telephonedevice 150 may be associated with the basic service supplying standardsingle line telephones, telephone lines, and access to the publicswitched network. An example system implementing the referral service112 is discussed with reference to FIG. 2.

FIG. 2 is a block diagram of a system 200 to contact a provider ofgoods, services, or both, in accordance with an example embodiment. Asshown in FIG. 2, the system 200 includes a referral generator 210, acommunications module 220, a call module 230, a listing generator 240, abusiness rules engine 250, and a seller module 260.

The communications module 220 may be configured to receive requests fromusers, e.g. requests from potential buyers to select a provider of aparticular service and to make contact with the selected provider. Thereferral generator 210 may be configured to process requests received bythe communications module 220. For example, the referral generator 210may obtain selection criteria from the referral request, interrogate theproviders database 160 of FIG. 1 with the selection criteria, andgenerate a referral, based on the results of the interrogation. The callmodule 230 may be configured to contact the selected provider byinitiating a VoIP call to the selected provider. In one exampleembodiment, the referral generator 210 may be configured to cooperatewith the business rules engine 250 to select a provider.

An example scenario illustrating the use of the referral service 112implemented as the system 200 may be described as follows. A user, whomay be termed a potential buyer of goods or services that are beingoffered through a web service, may access a web site hosting thereferral service 112. The user may indicate, via an associated userinterface (UI), that she is looking for a certain kind of service, suchas plumbing. The user may browse the web site, type in a search term andrequest a search, or perform some other operations to view a number oflistings for plumbing services. In one example embodiment, a singlelisting may be associated with several providers of plumbing servicesthat are grouped based on a certain characteristic, such as geographiclocation of each provider in the group. In another example embodiment,plumbing services may be grouped functionally, e.g., by a specific typeof a plumbing service. A user may select a particular listing, e.g., byclicking on an example “Call me” control button associated with thelisting.

When the user activates the “Call me” control button associated with thelisting, the business rules engine 250 selects a provider from theassociated group of providers based on predetermined business rules. Thepredetermined business rules may utilize, for example, demographicinformation of a provider and of the user, a price range for plumbingservices, geographic location of a provider and of the user, thereputation of a provider, etc. Other criteria that may be utilized bythe business rules engine 250 may include the languages spoken by aprovider and by the user.

When the referral generator 210 selects an appropriate provider, basedon the business rules, the call module 230 may be generated to channel aVoIP call to the selected provider. In one example embodiment, when theselected provider answers the call, that service provider may be chargeda predetermined fee for having received a lead. The system 200 mayinclude a seller module 260 that may be configured to evaluate each callto a provider generated by the call module 230 in order to determinewhether a particular call may qualify as a lead.

It will be noted that, in some example embodiments, the functionsperformed by two separate modules of the system 200 may be performed bya single module. For example, the operations performed by the referralgenerator 210 and the business rules engine 250 may be performed by asingle referral module. In another example embodiment, the operationsperformed by the business rules engine 250 may be performed by severalfunctional modules, e.g., by a demographic selector, a price selector, areputation selector, etc.

As mentioned above, the referral service 112, which, in an exampleembodiment, may be implemented as the system 200, may be utilized topermit a potential buyer to contact a provider of goods or services. Anexample method to contact a provider is described with reference to FIG.3.

FIG. 3 is a flow chart of a method 300 to contact a provider, accordingto an example embodiment. The method 300 may be performed by processinglogic that may comprise hardware (e.g., dedicated logic, programmablelogic, microcode, etc.), software (such as run on a general purposecomputer system or a dedicated machine), or a combination of both. Inone example embodiment, the processing logic resides at a server system110 of FIG. 1. In another example embodiment, the processing logic mayreside at the client 120, at a server 110 or may be distributed betweenthe client 120 and the server 110 of FIG. 1. In one example embodiment,the method 300 may be performed by the various modules discussed abovewith reference to FIG. 2. Each of these modules may comprise processinglogic.

As shown in FIG. 3, the method 300 commences at operation 302. Atoperation 304, the communications module 220 receives, from a user(e.g., a potential buyer), a referral request with respect to a providerof goods or services. The referral request may include a request tocontact or otherwise access the referred provider.

At operation 306, the referral generator 210 determines whether thereferral request includes any selection parameters, such as thepreferred location of a provider, the price range for the services, thereputation of the provider, etc. If it is determined, at operation 306,that the referral request includes one or more selection parameters, thereferral generator 210 utilizes these selection parameters to select, atoperation 308, one or more providers from a network of member providersthat satisfy criteria associated with the selection parameter. Aselection parameter may be associated, in one example embodiment, withdemographic information of a provider. In some example embodiments, aselection parameter may be associated with demographic information of apotential buyer.

At operation 310, the business rules engine 250 may be employed by thereferral generator 210 to select a single provider (e.g., a provider whois considered by the system to be the most suitable to satisfy thereferral request) from the one or more providers chosen based on theselection parameter.

If it is determined, at operation 306, that the referral request doesnot include any selection parameters, the referral generator 210cooperates with the business rules engine 250 to select, at operation312, a suitable provider from a network of member providers, utilizingthe business rules that are provided with the business rules engine 250.

At operation 314, the call module 230 initiates a VoIP call to theselected provider. Depending on the outcome of the call and, in someexample embodiments, depending on the duration of the call, the call maybe identified as a lead with respect to the selected provider and beincluded into a calculation of any per-lead fees charged to the selectedprovider. The identifying of a VoIP call to the selected provider as alead may be performed by the seller module 260. Example seller modulemay be described with reference to FIG. 4.

FIG. 4 is a diagrammatic representation of a seller module 400, inaccordance with an example embodiment. As shown in FIG. 400, the exampleseller module 400 may include a calls monitor 410, an accounting module420, a leads manager 430, and a feedback module 450.

The calls monitor 410 may be configured to track the length of a VoIPcall to the provider and to utilize this information to determinewhether the call qualifies as a lead. The accounting module 420 may beconfigured to calculate the fees to be charged to a provider, based onthe number of leads generated by the referral service 112 for theprovider. The leads manager 430 is configured, in one exampleembodiment, to permit a provider to organize, categorize, and otherwisemanage the leads.

In one example embodiment, when a VoIP call to the selected provider isidentified as a lead, the seller module 400 engages the feedback module450 to obtain feedback from the originator of the associated referralrequest regarding the selected provider. An example method to process aVoIP call is described with reference to FIG. 5.

FIG. 5 is a flow chart of a method 500 to process a VoIP call, accordingto an example embodiment. The method 500 may be performed by processinglogic that may comprise hardware (e.g., dedicated logic, programmablelogic, microcode, etc.), software (such as run on a general purposecomputer system or a dedicated machine), or a combination of both. Inone example embodiment, the processing logic resides at a server system110 of FIG. 1. In another example embodiment, the processing logic mayreside at the client 120, at a server 110 or may be distributed betweenthe client 120 and the server 110 of FIG. 1. In one example embodiment,the method 500 may be performed by the various modules discussed abovewith reference to FIG. 4. Each of these modules may comprise processinglogic.

As shown in FIG. 5, the method 500 commences at operation 502. Atoperation 504, the calls monitor 410 detects a completed VoIP call to aprovider. The calls monitor 410 then determines the duration of thecompleted VoIP call. If it is determined, at operation 506, that thecall duration is less than a predetermined threshold, the call is notconsidered as a lead with respect to the provider, and the method 500returns to operation 504. Consequently, in one example embodiment, acall that is shorter than a predetermined duration does not affect thefee charged to the provider by the referral service 112 of FIG. 1.

If it is determined, at operation 506, that the call duration is equalto or greater than a predetermined threshold, the call is identified asa lead with respect to the provider. The accounting module 440 may thenupdate the amount to be charged to the provider for the generated leads.

At operation 510, the feedback module 450 may be engaged to determine anidentification of the lead associated with the completed VoIP call andrequest feedback from the lead, at operation 512. The feedback receivedfrom the lead may be utilized at a later time in executing businessrules to select a provider in response to a referral request from auser.

It will be noted, that while the method 500 uses the duration of a VoIPcall to determine whether a particular contact qualifies as a lead,various additional or other criteria may be utilized to define a lead.For example, other factors may include whether the call goes to voicemail, whether the same buyer has contacted that seller within the lastpredetermined number of days, etc.

FIG. 6 is a diagrammatic representation of an example user interface600, that may be associated with the referral service 112, to permit auser to request a referral. The user interface 600, in accordance withan example embodiment, comprises a services area 602. The services area602 may include a list of different services or different types of aparticular service (e.g., “PLUMBERS—RESIDENTIAL” and“PLUMBERS—COMMERCIAL”). Each service from the list of services may bedisplayed with an associated “CALL ME” control button, such as controlbuttons 604 through 612. In one example embodiment, when a user wishesto contact a provider, e.g., a tutor, the user may simply click on the“CALL ME” button 610 associated with tutoring services. In response, thereferral service 112 may select a provider, e.g., utilizing businessrules, and initiate a VoIP call to the selected provider. If theselected provider answers the call, the user may proceed withcommunicating with the selected provider.

In one example embodiment, the user interface 600 may include a “CANCEL”control 614 that can be used to exit the user interface 600 andterminate any selection or calling process. It will be noted, that theuser interface 600, in one example embodiment, may include a goods area(not shown) to permit a user to request a suggested retailerinformation.

FIG. 7 is a diagrammatic representation of an example user interface700, that may be associated with the referral service 112, to permit auser to specify selection criteria with a referral request. The userinterface 700, in accordance with an example embodiment, comprises aservice selection field 702. The service selection field 702 may beimplemented, for example, as a drop down list. The user interface 700may further include various controls and input areas to permit a user tospecify criteria for selecting a particular provider, such as “LOCATION”input box 704, “PRICE RANGE” input box 706, “BUSINESS HOURS” control708, and “REPUTATION” control 708.

In one example embodiment, the user interface 700 may include a “CALLME” control button 714 to permit a user to request that a provider thatsatisfies the selected criteria is contacted. The user interface 700 mayalso include a “CANCEL” control 716 that can be used to exit the userinterface 700 and terminate any selection or calling process.

FIG. 8 is a diagrammatic representation of an example user interface800, that may be associated with the referral service 112, to display toa an originator of the referral request information related to a VoIPcall. The user interface 800, in accordance with an example embodiment,includes a “CALLING . . . ” indicator 802 to inform a user that a callis being made, and a “TEXT MESSAGE” area 804 to permit a user to send anoptional text message to the selected provider. The user interface 800may also include a “CANCEL” control 806 that can be used to exit theuser interface 800 and to terminate the calling process.

FIG. 9 is a diagrammatic representation of an example data structure 900to represent selection criteria information, in accordance with anexample embodiment. As shown in FIG. 9, the example data structure 900comprises fields 902 through 910. “SELECTION_CRITERIA.SERVICE” field 902is used to represent the service selected by a user.“SELECTION_CRITERIA.LOCATION” field 904 is used to represent geographiclocation selected by a user. “SELECTION_CRITERIA.PRICE_RANGE” field 906is used to represent the price range selected by a user.“SELECTION_CRITERIA.BUSINESS_HOURS” field 908 is used to represent thebusiness hours of a service provider selected by a user.“SELECTION_CRITERIA.REPUTATION” field 910 is used to represent thereputation criteria selected by a user.

It will be noted, that selection criteria information, as well as otherinformation utilized by the system 200 of FIG. 2, may be representedutilizing a variety of techniques that may be available to a personskilled in the art.

FIG. 10 shows a diagrammatic representation of a machine in the exampleform of a computer system 1000 within which a set of instructions, forcausing the machine to perform any one or more of the methodologiesdiscussed herein, may be executed. In alternative embodiments, themachine operates as a stand-alone device or may be connected (e.g.,networked) to other machines. In a networked deployment, the machine mayoperate in the capacity of a server or a client machine in server-clientnetwork environment, or as a peer machine in a peer-to-peer (ordistributed) network environment. The machine may be a personal computer(PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant(PDA), a cellular telephone, a web appliance, a network router, switchor bridge, or any machine capable of executing a set of instructions(sequential or otherwise) that specify actions to be taken by thatmachine. Further, while only a single machine is illustrated, the term“machine” shall also be taken to include any collection of machines thatindividually or jointly execute a set (or multiple sets) of instructionsto perform any one or more of the methodologies discussed herein.

The example computer system 1000 includes a processor 1002 (e.g., acentral processing unit (CPU), a graphics processing unit (GPU) orboth), a main memory 1004 and a static memory 1006, which communicatewith each other via a bus 1008. The computer system 1000 may furtherinclude a video display unit 1010 (e.g., a liquid crystal display (LCD)or a cathode ray tube (CRT)). The computer system 1000 also includes analpha-numeric input device 1012 (e.g., a keyboard), a user interface(UI) navigation device 1014 (e.g., a cursor control device), a diskdrive unit 1016, a signal generation device 1018 (e.g., a speaker) and anetwork interface device 1020.

The disk drive unit 1016 includes a machine-readable medium 1022 onwhich is stored one or more sets of instructions and data structures(e.g., software 1024) embodying or utilized by any one or more of themethodologies or functions described herein. The software 1024 may alsoreside, completely or at least partially, within the main memory 1004and/or within the processor 1002 during execution thereof by thecomputer system 1000, the main memory 1004 and the processor 1002 alsoconstituting machine-readable media.

The software 1024 may further be transmitted or received over a network1026 via the network interface device 1020 utilizing any one of a numberof well-known transfer protocols (e.g., Hyper Text Transfer Protocol(HTTP)).

While the machine-readable medium 1022 is shown in an example embodimentto be a single medium, the term “machine-readable medium” should betaken to include a single medium or multiple media (e.g., a centralizedor distributed database, and/or associated caches and servers) thatstore the one or more sets of instructions. The term “machine-readablemedium” shall also be taken to include any medium that is capable ofstoring, encoding or carrying a set of instructions for execution by themachine and that cause the machine to perform any one or more of themethodologies of embodiments of the present invention, or that iscapable of storing, encoding or carrying data structures utilized by orassociated with such a set of instructions. The term “machine-readablemedium” shall accordingly be taken to include, but not be limited to,solid-state memories, optical and magnetic media, and carrier wavesignals. Such media may also include, without limitation, hard disks,floppy disks, flash memory cards, digital video disks, random accessmemory (RAMs), read only memory (ROMs), and the like.

The embodiments described herein may be implemented in an operatingenvironment comprising software installed on a computer, in hardware, orin a combination of software and hardware.

Thus, a method and system to contact a provider have been described.Although embodiments have been described with reference to specificexample systems and embodiments, it will be evident that variousmodifications and changes may be made to these embodiments withoutdeparting from the broader spirit and scope of the inventive subjectmatter. Accordingly, the specification and drawings are to be regardedin an illustrative rather than a restrictive sense.

The invention claimed is:
 1. A system comprising: at least one processorcoupled to a memory; a Graphical User Interface (GUI), the GUIcomprising: a call visual control associated with a particular service,the particular service associated with a plurality of providers in anon-line referral service, information about the plurality of providersbeing maintained by the on-line referral service, and one or moreselection visual controls associated with the particular service topermit a user to submit selection criteria with respect to a provider ofthe particular service, the call visual control and the one or morevisual controls provided on the same screen of the GUI; a communicationmodule implemented using the at least one processor to: detectactivation of the one or more selection visual controls, in response tothe detecting of the activation of the one or more selection visualcontrols determine the selection criteria with respect to a provider ofthe particular service, in response to the detection of the activationof the one or more selection visual controls, automatically controllingcommunication of a referral request to the on-line referral service; areferral generator, implemented using the at least one processor, toreceive the referral request, to determine that the referral requestincludes the selection criteria with respect to a provider of theparticular service, and to automatically select, from the plurality ofproviders, a provider of the particular service, in response to thereferral request and based on the selection criteria; and a call module,implemented using at least one processor, to automatically initiate acommunication with the selected provider subsequent to the receiving ofthe referral request and subsequently to the selecting of the providerbased on the selection criteria.
 2. The system of claim 1, wherein thereferral generator is to select the provider of the particular serviceutilizing business rules.
 3. The system of claim 1, wherein theselection criteria is associated with demographic information of aprovider.
 4. The system of claim 1, wherein data associated with theplurality of providers is organized utilizing demo graphic informationof the plurality of providers.
 5. The system of claim 1, wherein thecommunication is a voice over Internet protocol (VoIP) call.
 6. Thesystem of claim 1, wherein the activation of the call visual control isindicative of a referral request, the leads manager to store informationassociated with an originator of the referral request.
 7. The system ofclaim 6, wherein the leads manager is to make the information associatedwith the originator of the referral request available to the selectedprovider.
 8. The system of claim 1, comprising a leads manager todetermine, using the at least one processor, metrics associated with theinitiated communication.
 9. The system of claim 8, wherein the leadsmanager is to: monitor duration of the communication; and based on theduration of the communication, identify the communication as a generatedlead.
 10. The system of claim 8, wherein the leads manager is tocalculate fees to be charged to the selected provider.
 11. A methodcomprising: detecting, using at least one processor coupled to a memory,activation of one or more selection visual controls, the one or moreselection visual controls associated with a particular service, topermit a user to submit selection criteria with respect to a provider ofthe particular service, the particular service associated with aplurality of providers in an on-referral service, information about theplurality of providers being maintained by the on-line referral service;in response to the detecting of the activation of the one or moreselection visual controls, determining the selection criteria withrespect to a provider of the particular service, the call visual controland the one or more visual controls provided on the same screen of aGraphical User Interface (GUI); detecting, at the computer system,activation of the call visual control, the activation of the call visualcontrol causing communication of a referral request to the on-linereferral service; in response to the detecting of activation of the callvisual control, accessing the selection criteria with respect to aprovider of the particular service and selecting a provider of theparticular service based on the selection criteria; determining that thereferral request includes the selection criteria with respect to aprovider of the particular service; automatically selecting, from theplurality of providers, a provider of the particular service, inresponse to the referral request and based on the selection criteria;and using a call module, implemented using at least one processor,automatically initiating a communication with the selected providersubsequent to the receiving of the referral request and subsequently tothe selecting of the provider based on the selection criteria.
 12. Themethod of claim 11, wherein the determining of the metrics includesdetermining duration of the communication.
 13. The method of claim 11,wherein the communication is a voice over Internet protocol (VoIP) call.14. The method of claim 11, comprising storing information associatedwith an originator of the referral request and making the informationassociated with the originator of the referral request available to theselected provider.
 15. The method of claim 11, wherein the selecting ofthe provider from the plurality of providers comprises selecting theprovider utilizing business rules.
 16. The method of claim 11, whereinthe selection criteria is associated with demographic information of aprovider from the network of member providers.
 17. The method of claim11, comprising: determining metrics associated with the communication;and based on the metrics, identifying the communication as a generatedlead.
 18. The method of claim 17, comprising calculating fees to becharged to the selected provider.
 19. A non-transitory machine-readablestorage medium having instruction data to cause a machine to performoperations comprising: detecting, at a computer system, activation ofone or more selection visual controls, the one or more selection visualcontrols associated with a particular service, to permit a user tosubmit selection criteria with respect to a provider of the particularservice, the particular service associated with a plurality of providersin an on-referral service, information about the plurality of providersbeing maintained by the on-line referral service; in response to thedetecting of the activation of the one or more selection visualcontrols, determining the selection criteria with respect to a providerof the particular service, the call visual control and the one or morevisual controls provided on the same screen of a Graphical UserInterface (GUI); detecting, at the computer system, activation of thecall visual control, the activation of the call visual control causingcommunication of a referral request to the on-line referral service; inresponse to the detecting of activation of the call visual control,accessing the selection criteria with respect to a provider of theparticular service and selecting a provider of the particular servicebased on the selection criteria; determining that the referral requestincludes the selection criteria with respect to a provider of theparticular service; automatically selecting, from the plurality ofproviders, a provider of the particular service, in response to thereferral request and based on the selection criteria; and using a callmodule, implemented using at least one processor, automaticallyinitiating a communication with the selected provider subsequent to thereceiving of the referral request and subsequently to the selecting ofthe provider based on the selection criteria.